我有几个覆盖protected方法的Hadoop映射和归约类。Sonar将这些标记为:UnusedprotectedmethodPlugin:squidKey:UnusedProtectedMethod我知道Sonar中有一个解决此问题的修复程序,并且在某个时候我的组织将使用具有该修复程序的版本。同时,我想禁用警告。我试过:@SuppressWarnings("UnusedProtectedMethod")和@SuppressWarnings("SQUID.UnusedProtectedMethod")没用。@SuppressWarnings适用于PMD问题,@edu.umd.cs.f
我了解什么是认知复杂性以及如何计算它,但是我现在没有如何确定该量度的好价值,因此我的代码不可能多么复杂。我需要一种客观的方法来估算它,而无需将项目相互比较。一种公式,例如“复杂性/线代码”或类似的公式。或者,如果我为大型项目定义了质量门,我如何计算其值。看答案在方法级别上,建议最大15。在班级级别,这取决于您在软件包中的期望。例如,在一个只能举行字段和简单的Getters或Setters类的软件包中,具有0(5?10?)认知复杂性的类可能还值得另一个外观。另一方面,在拥有业务逻辑类的软件包中,类得分>=...150(?)可能表明是时候考虑分配课程了。就项目的限制是什么,这是无法回答的,并
我收到SonarQube错误:“强烈建议在此方法实现结束时调用super.finalize(),以防父实现也必须释放一些系统资源。”但我发现Object类没有实现finalize方法。protectedvoidfinalize()throwsThrowable{}那么为什么需要调用super.finalize()呢? 最佳答案 这不是必须的,它是应该遵循的finalizer写成语。如果在未来的任何时候,您重构了您的代码并且您的类扩展了一些可能具有finalize方法的其他类,这种做法将防止出现奇怪的错误。成语是try{//Dowha
SonarQube对我的项目的分析失败了5.6,从版本3.14更新Java插件后至4.0.在我的SonarQube实例中,在其他插件中,我目前有Findbugs插件(版本3.3)和Cobertura插件(1.6.3),它们需要Java插件。查看日志,我收到以下消息:[ERROR]Failedtoexecutegoalorg.sonarsource.scanner.maven:sonar-maven-plugin:3.1-build231:sonar(default-cli)onprojectMyProject:Executiondefault-cliofgoalorg.sonarsou
我使用spock编写测试用例,使用jenkins运行和发布我的测试用例。我能够获得报告的代码覆盖率,但Sonar显示仅Java单元测试用例;groovy测试用例完全缺失以下pom.xml作为引用https://github.com/kkapelon/java-testing-with-spock/blob/master/chapter7/spring-standalone-swing/pom.xml有人知道我错过了什么吗? 最佳答案 在Sonar中安装Groovy插件。以admin/admin身份登录并转到管理/系统/更新中心选项卡
对于下面的一段代码,sonarqube计算的方法圈复杂度为9Stringfoo(){if(cond1)returna;if(cond2)returnb;if(cond3)returnc;if(cond4)returnd;returne;}我按照计算规则理解http://docs.sonarqube.org/display/SONAR/Metrics+-+Complexity9的复杂度是正确的。所以方法的复杂度是=4(if)+4(return)+1(method)=9如果我有一个导出点,可以降低这种复杂性。Stringfoo(){Stringtemp;if(cond1){temp=a;}
我有一个关于Sonar预览模式下代码覆盖率的问题。我正在尝试为我们的项目配置Sonar并探索Sonar的预览和增量模式。我们的想法是在由我们的开发人员管理的功能分支中的CI中以连续的方式运行它们。目标是在不压倒我们的Sonar立方体及其数据库的情况下,为他们提供代码质量的线索。我看到在预览模式下运行Sonar时它会生成一个json格式的报告,因为我坚持使用默认设置,它位于:target\sonar\sonar-report.json然而,这份报告不包含任何关于代码覆盖率的信息,只包含违规信息。那么,我的问题是,在预览和可能的增量模式下运行Sonar时,如何包含有关覆盖范围的信息?互联网
一、先安装postgresql数据库和jdk17版本从SonarQube8.2开始,官方不再支持MySQL数据库,因此这里使用postgresql数据库数据库安装步骤1.先在postgresql官方下载https://www.postgresql.org/ftp/source/我用的13版本把压缩文件上传到linux服务器的/usr/local/src目录解压tar-zxvfpostgresql-13.0.tar.gz编译源码并安装创建postgres用户:启动数据库要用这个用户权限启动useraddpostgres创建安装目录和启动日志文件mkdir/usr/local/pgsqlchown
我正在尝试为我的一个项目获取Sonar报告。我已经运行了mvncleaninstallRunningblah.blah.BlahTest1Testsrun:1,Failures:0,Errors:0,Skipped:0,Timeelapsed:0.016secRunningblah.blah.BlahTest2Testsrun:3,Failures:0,Errors:0,Skipped:0,Timeelapsed:0.078sec当我运行mvnsonar:sonar时,出现以下错误。[INFO]----------------------------------------------
我正在从事一个相当大的项目(大约maven550模块)。现在,我想知道如何在CI级别的这样一个大项目上运行Sonar(我们为此使用Jenkins)如果我们从父pom文件夹中运行mvnsonar:sonar,它会运行约1小时,然后在OutOfMemory上失败,即使我们显着增加它(~16GB)因此,我们研究了运行Sonar的其他策略。目前最吸引人的想法是:在生命周期内为每个模块运行Sonar。维护(子)模块列表,Sonar应在后期构建阶段并行运行。那么,请问这么大的项目用什么方式跑sonar比较好?有人可以提供一些通用配置来实现第一个或第二个想法或描述任何其他方式/最佳实践吗?